﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            ////            定义一个结构体，名为PersonStruct，有三个成员变量：姓名、电话、地址，
            ////在主方法中，创建一个PersonStruct结构体对象p1，为p1的成员变量赋值。
            ////再声明一个PersonStruct结构体变量p2，把p1赋值给p2，改变p2的姓名，打印p1的内容。

            ////定义一个类，名为PersonClass，有三个成员变量：姓名、电话、地址，
            ////在主方法中，创建一个PersonClass对象p3，为p3的成员变量赋值。
            ////再声明一个PersonClass变量p4，把p3赋值给p4，改变p4的姓名，打印p3的内容。


            ////观察打印结果，并在在注释中，说下你对此的认识（它们为什么会这样？）

            PersonStruct p1 = new PersonStruct();
            p1.adress = "福建省";
            p1.name = "小明";
            p1.phonenum = "123";

            p1.say();

            PersonStruct p2 = p1;
            p2.name = "小鸣";



            PersonClass p3 = new PersonClass( "小明", "123", "福建省");

            PersonClass p4 = p3;
            p4.name = "小鸣";
            p3.say();
           
        }

    }
    class PersonClass
    {
        public string name;
        public string phonenum;
        public string adress;

        public PersonClass(string name, string phonenum, string adress)
        {
            this.name = name;
            this.phonenum = phonenum;
            this.adress = adress;
        }

        public void say()
        {
            Console.WriteLine("我叫{0}，我的电话是{1}，我家在{2}",
                this.name, this.phonenum, this.adress);

        }



    }



    struct PersonStruct
    {
        public string name;
        public string phonenum;
        public string adress;

        public PersonStruct(string name, string phonenum, string adress)
        {
            this.name = name;
            this.phonenum = phonenum;
            this.adress = adress;
        }

        public void say() 
        {
            Console.WriteLine("我叫{0}，我的电话是{1}，我家在{2}",
                this.name,this.phonenum,this.adress);
        
        }



    }


}
